package com.pshcp.domain.model;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 挂号订单
 * </p>
 *
 * @author auto generator
 * @since 2022-11-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table(name = "t_order_reg")
public class OrderReg implements Serializable {

    private static final long serialVersionUID=1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * his预约id
     */
    private String hisRegId;

    /**
     * 云医院预约ID
     */
    private Long regId;

    /**
     * 医院名称
     */
    private String hosName;

    /**
     * 大科室名称
     */
    private String deptName;

    /**
     * 科室名称
     */
    private String sectName;

    /**
     * 医生ID
     */
    private Long doctorId;
    /**
     * 医生名称
     */
    private String doctorName;
    /**
     * 出诊日期
     */
    private String schDate;
    /**
     * 就诊地址
     */
    private String address;
    /**
     * 医生HIS id
     */
    private String hisDoctorId;
    /**
     * 就诊人卡号
     */
    private String patCardNo;
    /**
     * 就诊人手机号
     */
    private String patPhone;
    /**
     * 患者端用户id
     */
    private Long patientUserId;

    /**
     * his患者id
     */
    private String hisPatientId;

    /**
     * 患者id
     */
    private Long patientId;

    /**
     * 患者名称
     */
    private String patientName;

    /**
     * 就医凭证
     */
    private String takePassword;
    /**
     * 挂号序号
     */
    private String takenIndex;

    /**
     * 患者身份证
     */
    private String cardNo;

    /**
     * 挂号类型:0普通预约，1当日挂号
     */
    private Integer regType;

    /**
     * his排班id
     */
    private String accessSchId;
    /**
     * 挂号总费用
     */
    private BigDecimal cost;
    /**
     * 挂号费
     */
    private BigDecimal regFee;

    /**
     * 服务费
     */
    private BigDecimal serviceFee;

    /**
     * 自付支付费
     */
    private BigDecimal selfFee;

    /**
     * 医保支付费
     */
    private BigDecimal healFee;

    /**
     * 预约就诊开始时间
     */
    private String expectStime;

    /**
     * 预约就诊结束时间
     */
    private String expectEtime;

    /**
     * 时段0：全天1:上午,12:中午,2:下午,4:晚上
     */
    private Integer dayType;

    /**
     * 就诊地址
     */
    private String expectAddr;
    /**
     * 建议就诊时间段
     * HH:mm-HH:mm
     */
    private String expectTime;

    /**
     * 候诊时间
     */
    private String waitTime;

    /**
     * 候诊地址
     */
    private String waitAddr;

    /**
     * 挂号状态 1预约2取消预约3支付成功4退号 5 已取号 6 已就诊 7 已爽约 8 其他
     */
    private Integer regStatus;

    /**
     * 支付状态 0未支付，1支付中，2支付完成，3支付失败，4退款中，5退款成功，6退款失败
     */
    private Integer payStatus;

    /**
     * 状态 0正常 1删除
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * his调用失败重试0成功，1失败
     */
    private Integer reCallHis;
    /**
     * 超时未支付通知0未通知1已通知
     */
    private Integer unPayNotify;
    /**
     * 取消时间
     */
    private Date cancelTime;
    /**
     * 取消原因
     */
    private String cancelReason;
    /**
     * HIS内部订单流水号
     */
    private String hisPayNo;
}
